[INFO] fetching crate amiibo 0.2.0...
[INFO] checking amiibo-0.2.0 against master#158f00a1c5175648af6f6099b075f78d1d014a28 for pr-121251
[INFO] extracting crate amiibo 0.2.0 into /workspace/builds/worker-7-tc1/source
[INFO] validating manifest of crates.io crate amiibo 0.2.0 on toolchain 158f00a1c5175648af6f6099b075f78d1d014a28
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+158f00a1c5175648af6f6099b075f78d1d014a28" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking crates.io crate amiibo 0.2.0
[INFO] finished tweaking crates.io crate amiibo 0.2.0
[INFO] tweaked toml for crates.io crate amiibo 0.2.0 written to /workspace/builds/worker-7-tc1/source/Cargo.toml
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+158f00a1c5175648af6f6099b075f78d1d014a28" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+158f00a1c5175648af6f6099b075f78d1d014a28" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded sha2 v0.10.8
[INFO] [stderr]   Downloaded cipher v0.2.5
[INFO] [stderr]   Downloaded ctr v0.6.0
[INFO] [stderr]   Downloaded binrw v0.9.2
[INFO] [stderr]   Downloaded hmac v0.12.1
[INFO] [stderr]   Downloaded aes-soft v0.6.4
[INFO] [stderr]   Downloaded aesni v0.10.0
[INFO] [stderr]   Downloaded aes-ctr v0.6.0
[INFO] [stderr]   Downloaded array-init v2.1.0
[INFO] [stderr]   Downloaded binrw_derive v0.9.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+158f00a1c5175648af6f6099b075f78d1d014a28" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 79381df75e4ec8b4de8af5d2841dfd4aac05dc17ea1f904e141fc997c034acea
[INFO] running `Command { std: "docker" "start" "-a" "79381df75e4ec8b4de8af5d2841dfd4aac05dc17ea1f904e141fc997c034acea", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "79381df75e4ec8b4de8af5d2841dfd4aac05dc17ea1f904e141fc997c034acea", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "79381df75e4ec8b4de8af5d2841dfd4aac05dc17ea1f904e141fc997c034acea", kill_on_drop: false }`
[INFO] [stdout] 79381df75e4ec8b4de8af5d2841dfd4aac05dc17ea1f904e141fc997c034acea
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+158f00a1c5175648af6f6099b075f78d1d014a28" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] dd8d8ec2f241e0374e6a343a7a93a9db0530b52502c046095d2fbfd335761dee
[INFO] running `Command { std: "docker" "start" "-a" "dd8d8ec2f241e0374e6a343a7a93a9db0530b52502c046095d2fbfd335761dee", kill_on_drop: false }`
[INFO] [stderr]    Compiling typenum v1.17.0
[INFO] [stderr]    Compiling generic-array v0.14.7
[INFO] [stderr]    Compiling proc-macro2 v1.0.78
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]     Checking subtle v2.5.0
[INFO] [stderr]    Compiling binrw_derive v0.9.0
[INFO] [stderr]     Checking opaque-debug v0.3.1
[INFO] [stderr]    Compiling owo-colors v3.5.0
[INFO] [stderr]     Checking cpufeatures v0.2.12
[INFO] [stderr]     Checking array-init v2.1.0
[INFO] [stderr]     Checking hex v0.4.3
[INFO] [stderr]    Compiling quote v1.0.35
[INFO] [stderr]     Checking crypto-common v0.1.6
[INFO] [stderr]     Checking cipher v0.2.5
[INFO] [stderr]     Checking block-buffer v0.10.4
[INFO] [stderr]     Checking inout v0.1.3
[INFO] [stderr]     Checking cipher v0.4.4
[INFO] [stderr]     Checking digest v0.10.7
[INFO] [stderr]     Checking aes-soft v0.6.4
[INFO] [stderr]     Checking ctr v0.6.0
[INFO] [stderr]     Checking hmac v0.12.1
[INFO] [stderr]     Checking sha2 v0.10.8
[INFO] [stderr]     Checking aes-ctr v0.6.0
[INFO] [stderr]     Checking binrw v0.9.2
[INFO] [stderr]     Checking amiibo v0.2.0 (/opt/rustwide/workdir)
[INFO] [stdout] error: proc-macro derive panicked
[INFO] [stdout]  --> src/keys.rs:6:10
[INFO] [stdout]   |
[INFO] [stdout] 6 | #[derive(BinRead, Debug, Clone)]
[INFO] [stdout]   |          ^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = help: message: attempt to subtract with overflow
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: proc-macro derive panicked
[INFO] [stdout]  --> src/keys.rs:6:10
[INFO] [stdout]   |
[INFO] [stdout] 6 | #[derive(BinRead, Debug, Clone)]
[INFO] [stdout]   |          ^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = help: message: attempt to subtract with overflow
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no function or associated item named `read` found for struct `AmiiboMasterKey` in the current scope
[INFO] [stdout]   --> src/keys.rs:41:26
[INFO] [stdout]    |
[INFO] [stdout] 7  | pub struct AmiiboMasterKey {
[INFO] [stdout]    | -------------------------- function or associated item `read` not found for this struct
[INFO] [stdout] ...
[INFO] [stdout] 41 |         AmiiboMasterKey::read(&mut cursor).unwrap()
[INFO] [stdout]    |                          ^^^^ function or associated item not found in `AmiiboMasterKey`
[INFO] [stdout]    |
[INFO] [stdout] note: if you're trying to build a new `AmiiboMasterKey`, consider using `AmiiboMasterKey::__init__` which returns `AmiiboMasterKey`
[INFO] [stdout]   --> src/keys.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 24 |     fn __init__(data: Vec<u8>, sha256_digest: &str) -> AmiiboMasterKey {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]    = note: the following traits define an item `read`, perhaps you need to implement one of them:
[INFO] [stdout]            candidate #1: `std::io::Read`
[INFO] [stdout]            candidate #2: `XofReader`
[INFO] [stdout]            candidate #3: `BinRead`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no function or associated item named `read` found for struct `AmiiboMasterKey` in the current scope
[INFO] [stdout]   --> src/keys.rs:41:26
[INFO] [stdout]    |
[INFO] [stdout] 7  | pub struct AmiiboMasterKey {
[INFO] [stdout]    | -------------------------- function or associated item `read` not found for this struct
[INFO] [stdout] ...
[INFO] [stdout] 41 |         AmiiboMasterKey::read(&mut cursor).unwrap()
[INFO] [stdout]    |                          ^^^^ function or associated item not found in `AmiiboMasterKey`
[INFO] [stdout]    |
[INFO] [stdout] note: if you're trying to build a new `AmiiboMasterKey`, consider using `AmiiboMasterKey::__init__` which returns `AmiiboMasterKey`
[INFO] [stdout]   --> src/keys.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 24 |     fn __init__(data: Vec<u8>, sha256_digest: &str) -> AmiiboMasterKey {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]    = note: the following traits define an item `read`, perhaps you need to implement one of them:
[INFO] [stdout]            candidate #1: `std::io::Read`
[INFO] [stdout]            candidate #2: `XofReader`
[INFO] [stdout]            candidate #3: `BinRead`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 2 previous errors
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0599`.
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 2 previous errors
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0599`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `amiibo` (lib) due to 3 previous errors
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stderr] error: could not compile `amiibo` (lib test) due to 3 previous errors
[INFO] running `Command { std: "docker" "inspect" "dd8d8ec2f241e0374e6a343a7a93a9db0530b52502c046095d2fbfd335761dee", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "dd8d8ec2f241e0374e6a343a7a93a9db0530b52502c046095d2fbfd335761dee", kill_on_drop: false }`
[INFO] [stdout] dd8d8ec2f241e0374e6a343a7a93a9db0530b52502c046095d2fbfd335761dee
[INFO] checking amiibo-0.2.0 against try#b4fc5dbf0bc33be331f9d893db5b3a794f29724a+rustflags=-Dexplicit_range -Dtrait_impl_range -Wrange_syntax -Wrange_bounds for pr-121251
[INFO] extracting crate amiibo 0.2.0 into /workspace/builds/worker-7-tc2/source
[INFO] validating manifest of crates.io crate amiibo 0.2.0 on toolchain b4fc5dbf0bc33be331f9d893db5b3a794f29724a
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b4fc5dbf0bc33be331f9d893db5b3a794f29724a" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking crates.io crate amiibo 0.2.0
[INFO] finished tweaking crates.io crate amiibo 0.2.0
[INFO] tweaked toml for crates.io crate amiibo 0.2.0 written to /workspace/builds/worker-7-tc2/source/Cargo.toml
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b4fc5dbf0bc33be331f9d893db5b3a794f29724a" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b4fc5dbf0bc33be331f9d893db5b3a794f29724a" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+b4fc5dbf0bc33be331f9d893db5b3a794f29724a" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 646e4598fe067caba7bedb087fee55115860a47705831a7fddbb06de4f231c6c
[INFO] running `Command { std: "docker" "start" "-a" "646e4598fe067caba7bedb087fee55115860a47705831a7fddbb06de4f231c6c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "646e4598fe067caba7bedb087fee55115860a47705831a7fddbb06de4f231c6c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "646e4598fe067caba7bedb087fee55115860a47705831a7fddbb06de4f231c6c", kill_on_drop: false }`
[INFO] [stdout] 646e4598fe067caba7bedb087fee55115860a47705831a7fddbb06de4f231c6c
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid -Dexplicit_range -Dtrait_impl_range -Wrange_syntax -Wrange_bounds" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+b4fc5dbf0bc33be331f9d893db5b3a794f29724a" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] d4f3302519521b1299e2d475228ac7e09a3285cd1b98d648af26160ebfd880c8
[INFO] running `Command { std: "docker" "start" "-a" "d4f3302519521b1299e2d475228ac7e09a3285cd1b98d648af26160ebfd880c8", kill_on_drop: false }`
[INFO] [stderr]    Compiling typenum v1.17.0
[INFO] [stderr]    Compiling generic-array v0.14.7
[INFO] [stderr]    Compiling proc-macro2 v1.0.78
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]    Compiling binrw_derive v0.9.0
[INFO] [stderr]     Checking subtle v2.5.0
[INFO] [stderr]    Compiling owo-colors v3.5.0
[INFO] [stderr]     Checking opaque-debug v0.3.1
[INFO] [stderr]     Checking array-init v2.1.0
[INFO] [stderr]     Checking cpufeatures v0.2.12
[INFO] [stderr]     Checking hex v0.4.3
[INFO] [stderr]    Compiling quote v1.0.35
[INFO] [stderr]     Checking crypto-common v0.1.6
[INFO] [stderr]     Checking block-buffer v0.10.4
[INFO] [stderr]     Checking cipher v0.2.5
[INFO] [stderr]     Checking inout v0.1.3
[INFO] [stderr]     Checking digest v0.10.7
[INFO] [stderr]     Checking cipher v0.4.4
[INFO] [stderr]     Checking aes-soft v0.6.4
[INFO] [stderr]     Checking ctr v0.6.0
[INFO] [stderr]     Checking hmac v0.12.1
[INFO] [stderr]     Checking sha2 v0.10.8
[INFO] [stderr]     Checking aes-ctr v0.6.0
[INFO] [stderr]     Checking binrw v0.9.2
[INFO] [stderr]     Checking amiibo v0.2.0 (/opt/rustwide/workdir)
[INFO] [stdout] error: proc-macro derive panicked
[INFO] [stdout]  --> src/keys.rs:6:10
[INFO] [stdout]   |
[INFO] [stdout] 6 | #[derive(BinRead, Debug, Clone)]
[INFO] [stdout]   |          ^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = help: message: attempt to subtract with overflow
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: proc-macro derive panicked
[INFO] [stdout]  --> src/keys.rs:6:10
[INFO] [stdout]   |
[INFO] [stdout] 6 | #[derive(BinRead, Debug, Clone)]
[INFO] [stdout]   |          ^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = help: message: attempt to subtract with overflow
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/keys.rs:65:46
[INFO] [stdout]    |
[INFO] [stdout] 65 |         Self::from_separate_bin(combined_bin[0..80].to_vec(), combined_bin[80..160].to_vec())
[INFO] [stdout]    |                                              ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: requested on the command line with `-W range-syntax`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/keys.rs:65:76
[INFO] [stdout]    |
[INFO] [stdout] 65 |         Self::from_separate_bin(combined_bin[0..80].to_vec(), combined_bin[80..160].to_vec())
[INFO] [stdout]    |                                                                            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/crypto.rs:43:46
[INFO] [stdout]    |
[INFO] [stdout] 43 |         let mut extract: Vec<u8> = self.data[0x011..0x013].to_vec();
[INFO] [stdout]    |                                              ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/crypto.rs:51:30
[INFO] [stdout]    |
[INFO] [stdout] 51 |         let uid = &self.data[0x000..0x008];
[INFO] [stdout]    |                              ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/crypto.rs:56:31
[INFO] [stdout]    |
[INFO] [stdout] 56 |         let user = &self.data[0x060..0x080];
[INFO] [stdout]    |                               ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]   --> src/crypto.rs:88:40
[INFO] [stdout]    |
[INFO] [stdout] 88 |             let aes_iv = derived_bytes[16..].to_vec();
[INFO] [stdout]    |                                        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/crypto.rs:114:34
[INFO] [stdout]     |
[INFO] [stdout] 114 |         let mut data = self.data[0x014..0x034].to_vec();
[INFO] [stdout]     |                                  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/crypto.rs:115:36
[INFO] [stdout]     |
[INFO] [stdout] 115 |         data.append(&mut self.data[0x0A0..0x208].to_vec());
[INFO] [stdout]     |                                    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/crypto.rs:120:19
[INFO] [stdout]     |
[INFO] [stdout] 120 |         self.data[0x014..0x034].copy_from_slice(&data[..0x020]);
[INFO] [stdout]     |                   ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/crypto.rs:121:19
[INFO] [stdout]     |
[INFO] [stdout] 121 |         self.data[0x0A0..0x208].copy_from_slice(&data[0x020..]);
[INFO] [stdout]     |                   ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/crypto.rs:121:55
[INFO] [stdout]     |
[INFO] [stdout] 121 |         self.data[0x0A0..0x208].copy_from_slice(&data[0x020..]);
[INFO] [stdout]     |                                                       ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/crypto.rs:128:36
[INFO] [stdout]     |
[INFO] [stdout] 128 |         tag_hmac.update(&self.data[0x000..0x008]);
[INFO] [stdout]     |                                    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/crypto.rs:129:36
[INFO] [stdout]     |
[INFO] [stdout] 129 |         tag_hmac.update(&self.data[0x054..0x080]);
[INFO] [stdout]     |                                    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/crypto.rs:133:37
[INFO] [stdout]     |
[INFO] [stdout] 133 |         data_hmac.update(&self.data[0x011..0x034]);
[INFO] [stdout]     |                                     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/crypto.rs:134:37
[INFO] [stdout]     |
[INFO] [stdout] 134 |         data_hmac.update(&self.data[0x0A0..0x208]);
[INFO] [stdout]     |                                     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/crypto.rs:136:37
[INFO] [stdout]     |
[INFO] [stdout] 136 |         data_hmac.update(&self.data[0x000..0x008]);
[INFO] [stdout]     |                                     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/crypto.rs:137:37
[INFO] [stdout]     |
[INFO] [stdout] 137 |         data_hmac.update(&self.data[0x054..0x080]);
[INFO] [stdout]     |                                     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/crypto.rs:144:19
[INFO] [stdout]     |
[INFO] [stdout] 144 |         self.data[0x034..0x054].clone_from_slice(&data);
[INFO] [stdout]     |                   ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/crypto.rs:148:19
[INFO] [stdout]     |
[INFO] [stdout] 148 |         self.data[0x080..0x0A0].clone_from_slice(&data);
[INFO] [stdout]     |                   ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/crypto.rs:222:33
[INFO] [stdout]     |
[INFO] [stdout] 222 |         let mut uid = self.data[0..3].to_vec();
[INFO] [stdout]     |                                 ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/crypto.rs:223:35
[INFO] [stdout]     |
[INFO] [stdout] 223 |         uid.append(&mut self.data[4..8].to_vec());
[INFO] [stdout]     |                                   ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/crypto.rs:253:19
[INFO] [stdout]     |
[INFO] [stdout] 253 |         self.data[0..3].clone_from_slice(&uid[0..3]);
[INFO] [stdout]     |                   ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/crypto.rs:253:47
[INFO] [stdout]     |
[INFO] [stdout] 253 |         self.data[0..3].clone_from_slice(&uid[0..3]);
[INFO] [stdout]     |                                               ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/crypto.rs:254:19
[INFO] [stdout]     |
[INFO] [stdout] 254 |         self.data[4..8].clone_from_slice(&uid[3..7]);
[INFO] [stdout]     |                   ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/crypto.rs:254:47
[INFO] [stdout]     |
[INFO] [stdout] 254 |         self.data[4..8].clone_from_slice(&uid[3..7]);
[INFO] [stdout]     |                                               ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/crypto.rs:259:19
[INFO] [stdout]     |
[INFO] [stdout] 259 |         self.data[(AmiiboDump::DYN_OFFSET + 12) as usize..(AmiiboDump::DYN_OFFSET + 16) as usize].clone_from_slice(&value);
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/crypto.rs:264:19
[INFO] [stdout]     |
[INFO] [stdout] 264 |         self.data[(AmiiboDump::DYN_OFFSET + 16) as usize..(AmiiboDump::DYN_OFFSET + 18) as usize].clone_from_slice(&value);
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/keys.rs:65:46
[INFO] [stdout]    |
[INFO] [stdout] 65 |         Self::from_separate_bin(combined_bin[0..80].to_vec(), combined_bin[80..160].to_vec())
[INFO] [stdout]    |                                              ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: requested on the command line with `-W range-syntax`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/keys.rs:65:76
[INFO] [stdout]    |
[INFO] [stdout] 65 |         Self::from_separate_bin(combined_bin[0..80].to_vec(), combined_bin[80..160].to_vec())
[INFO] [stdout]    |                                                                            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/crypto.rs:43:46
[INFO] [stdout]    |
[INFO] [stdout] 43 |         let mut extract: Vec<u8> = self.data[0x011..0x013].to_vec();
[INFO] [stdout]    |                                              ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/crypto.rs:51:30
[INFO] [stdout]    |
[INFO] [stdout] 51 |         let uid = &self.data[0x000..0x008];
[INFO] [stdout]    |                              ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/crypto.rs:56:31
[INFO] [stdout]    |
[INFO] [stdout] 56 |         let user = &self.data[0x060..0x080];
[INFO] [stdout]    |                               ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]   --> src/crypto.rs:88:40
[INFO] [stdout]    |
[INFO] [stdout] 88 |             let aes_iv = derived_bytes[16..].to_vec();
[INFO] [stdout]    |                                        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/crypto.rs:114:34
[INFO] [stdout]     |
[INFO] [stdout] 114 |         let mut data = self.data[0x014..0x034].to_vec();
[INFO] [stdout]     |                                  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/crypto.rs:115:36
[INFO] [stdout]     |
[INFO] [stdout] 115 |         data.append(&mut self.data[0x0A0..0x208].to_vec());
[INFO] [stdout]     |                                    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/crypto.rs:120:19
[INFO] [stdout]     |
[INFO] [stdout] 120 |         self.data[0x014..0x034].copy_from_slice(&data[..0x020]);
[INFO] [stdout]     |                   ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/crypto.rs:121:19
[INFO] [stdout]     |
[INFO] [stdout] 121 |         self.data[0x0A0..0x208].copy_from_slice(&data[0x020..]);
[INFO] [stdout]     |                   ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/crypto.rs:121:55
[INFO] [stdout]     |
[INFO] [stdout] 121 |         self.data[0x0A0..0x208].copy_from_slice(&data[0x020..]);
[INFO] [stdout]     |                                                       ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/crypto.rs:128:36
[INFO] [stdout]     |
[INFO] [stdout] 128 |         tag_hmac.update(&self.data[0x000..0x008]);
[INFO] [stdout]     |                                    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/crypto.rs:129:36
[INFO] [stdout]     |
[INFO] [stdout] 129 |         tag_hmac.update(&self.data[0x054..0x080]);
[INFO] [stdout]     |                                    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/crypto.rs:133:37
[INFO] [stdout]     |
[INFO] [stdout] 133 |         data_hmac.update(&self.data[0x011..0x034]);
[INFO] [stdout]     |                                     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/crypto.rs:134:37
[INFO] [stdout]     |
[INFO] [stdout] 134 |         data_hmac.update(&self.data[0x0A0..0x208]);
[INFO] [stdout]     |                                     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/crypto.rs:136:37
[INFO] [stdout]     |
[INFO] [stdout] 136 |         data_hmac.update(&self.data[0x000..0x008]);
[INFO] [stdout]     |                                     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/crypto.rs:137:37
[INFO] [stdout]     |
[INFO] [stdout] 137 |         data_hmac.update(&self.data[0x054..0x080]);
[INFO] [stdout]     |                                     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/crypto.rs:144:19
[INFO] [stdout]     |
[INFO] [stdout] 144 |         self.data[0x034..0x054].clone_from_slice(&data);
[INFO] [stdout]     |                   ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/crypto.rs:148:19
[INFO] [stdout]     |
[INFO] [stdout] 148 |         self.data[0x080..0x0A0].clone_from_slice(&data);
[INFO] [stdout]     |                   ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/crypto.rs:222:33
[INFO] [stdout]     |
[INFO] [stdout] 222 |         let mut uid = self.data[0..3].to_vec();
[INFO] [stdout]     |                                 ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/crypto.rs:223:35
[INFO] [stdout]     |
[INFO] [stdout] 223 |         uid.append(&mut self.data[4..8].to_vec());
[INFO] [stdout]     |                                   ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/crypto.rs:253:19
[INFO] [stdout]     |
[INFO] [stdout] 253 |         self.data[0..3].clone_from_slice(&uid[0..3]);
[INFO] [stdout]     |                   ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/crypto.rs:253:47
[INFO] [stdout]     |
[INFO] [stdout] 253 |         self.data[0..3].clone_from_slice(&uid[0..3]);
[INFO] [stdout]     |                                               ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/crypto.rs:254:19
[INFO] [stdout]     |
[INFO] [stdout] 254 |         self.data[4..8].clone_from_slice(&uid[3..7]);
[INFO] [stdout]     |                   ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/crypto.rs:254:47
[INFO] [stdout]     |
[INFO] [stdout] 254 |         self.data[4..8].clone_from_slice(&uid[3..7]);
[INFO] [stdout]     |                                               ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/crypto.rs:259:19
[INFO] [stdout]     |
[INFO] [stdout] 259 |         self.data[(AmiiboDump::DYN_OFFSET + 12) as usize..(AmiiboDump::DYN_OFFSET + 16) as usize].clone_from_slice(&value);
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/crypto.rs:264:19
[INFO] [stdout]     |
[INFO] [stdout] 264 |         self.data[(AmiiboDump::DYN_OFFSET + 16) as usize..(AmiiboDump::DYN_OFFSET + 18) as usize].clone_from_slice(&value);
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no function or associated item named `read` found for struct `AmiiboMasterKey` in the current scope
[INFO] [stdout]   --> src/keys.rs:41:26
[INFO] [stdout]    |
[INFO] [stdout] 7  | pub struct AmiiboMasterKey {
[INFO] [stdout]    | -------------------------- function or associated item `read` not found for this struct
[INFO] [stdout] ...
[INFO] [stdout] 41 |         AmiiboMasterKey::read(&mut cursor).unwrap()
[INFO] [stdout]    |                          ^^^^ function or associated item not found in `AmiiboMasterKey`
[INFO] [stdout]    |
[INFO] [stdout] note: if you're trying to build a new `AmiiboMasterKey`, consider using `AmiiboMasterKey::__init__` which returns `AmiiboMasterKey`
[INFO] [stdout]   --> src/keys.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 24 |     fn __init__(data: Vec<u8>, sha256_digest: &str) -> AmiiboMasterKey {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]    = note: the following traits define an item `read`, perhaps you need to implement one of them:
[INFO] [stdout]            candidate #1: `std::io::Read`
[INFO] [stdout]            candidate #2: `XofReader`
[INFO] [stdout]            candidate #3: `BinRead`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no function or associated item named `read` found for struct `AmiiboMasterKey` in the current scope
[INFO] [stdout]   --> src/keys.rs:41:26
[INFO] [stdout]    |
[INFO] [stdout] 7  | pub struct AmiiboMasterKey {
[INFO] [stdout]    | -------------------------- function or associated item `read` not found for this struct
[INFO] [stdout] ...
[INFO] [stdout] 41 |         AmiiboMasterKey::read(&mut cursor).unwrap()
[INFO] [stdout]    |                          ^^^^ function or associated item not found in `AmiiboMasterKey`
[INFO] [stdout]    |
[INFO] [stdout] note: if you're trying to build a new `AmiiboMasterKey`, consider using `AmiiboMasterKey::__init__` which returns `AmiiboMasterKey`
[INFO] [stdout]   --> src/keys.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 24 |     fn __init__(data: Vec<u8>, sha256_digest: &str) -> AmiiboMasterKey {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]    = note: the following traits define an item `read`, perhaps you need to implement one of them:
[INFO] [stdout]            candidate #1: `std::io::Read`
[INFO] [stdout]            candidate #2: `XofReader`
[INFO] [stdout]            candidate #3: `BinRead`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 2 previous errors; 27 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0599`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `amiibo` (lib) due to 3 previous errors; 27 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] error: aborting due to 2 previous errors; 27 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0599`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `amiibo` (lib test) due to 3 previous errors; 27 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "d4f3302519521b1299e2d475228ac7e09a3285cd1b98d648af26160ebfd880c8", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "d4f3302519521b1299e2d475228ac7e09a3285cd1b98d648af26160ebfd880c8", kill_on_drop: false }`
[INFO] [stdout] d4f3302519521b1299e2d475228ac7e09a3285cd1b98d648af26160ebfd880c8
